/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package smary.ejb.entity;

import java.io.Serializable;
import java.util.Set;
import javax.persistence.*;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;
import javax.xml.bind.annotation.XmlRootElement;

/**
 *
 * Die Definitionofdone Entität ist über eine n zu 1 Beziehung mit der
 * Userstory Entität verbunden und legt die Anforderungen für eine erfüllte
 * Userstory fest.
 *  @author Alexander Cannell
 */
@Entity
@Table(name = "DEFINITIONOFDONE")
@XmlRootElement
@NamedQueries({
    @NamedQuery(name = "Definitionofdone.findAll", query = "SELECT d FROM Definitionofdone d"),
    @NamedQuery(name = "Definitionofdone.findByDodid", query = "SELECT d FROM Definitionofdone d WHERE d.dodid = :dodid"),
    @NamedQuery(name = "Definitionofdone.findByDodbezeichnung", query = "SELECT d FROM Definitionofdone d WHERE d.dodbezeichnung = :dodbezeichnung"),
    @NamedQuery(name = "Definitionofdone.findByDodbeschreibung", query = "SELECT d FROM Definitionofdone d WHERE d.dodbeschreibung = :dodbeschreibung")})
public class Definitionofdone implements Serializable {
    private static final long serialVersionUID = 1L;
    @Id
    @Basic(optional = false)
    @NotNull
    @Column(name = "DODID")
    @GeneratedValue(strategy = GenerationType.AUTO)
    private Integer dodid;
    @Basic(optional = false)
    @NotNull
    @Size(min = 1, max = 2048)
    @Column(name = "DODBEZEICHNUNG")
    private String dodbezeichnung;
    @Size(min = 1, max = 32700)
    @Column(name = "DODBESCHREIBUNG")
    private String dodbeschreibung;
    
    @ManyToOne
    @JoinColumn(name="userstory",referencedColumnName="USERSTORYID")
    Userstory userstory;
    
    public Definitionofdone() {
        dodbezeichnung = "To be filled";
    }

    public Definitionofdone(Integer dodid) {
        this.dodid = dodid;
    }

    public Definitionofdone(Integer dodid, String dodbezeichnung) {
        this.dodid = dodid;
        this.dodbezeichnung = dodbezeichnung;
    }

    public Integer getDodid() {
        return dodid;
    }

    public void setDodid(Integer dodid) {
        this.dodid = dodid;
    }

    public String getDodbezeichnung() {
        return dodbezeichnung;
    }

    public void setDodbezeichnung(String dodbezeichnung) {
        this.dodbezeichnung = dodbezeichnung;
    }

    public String getDodbeschreibung() {
        return dodbeschreibung;
    }

    public void setDodbeschreibung(String dodbeschreibung) {
        this.dodbeschreibung = dodbeschreibung;
    }

    @Override
    public int hashCode() {
        int hash = 0;
        hash += (dodid != null ? dodid.hashCode() : 0);
        return hash;
    }

    @Override
    public boolean equals(Object object) {
        if (!(object instanceof Definitionofdone)) {
            return false;
        }
        Definitionofdone other = (Definitionofdone) object;
        if ((this.dodid == null && other.dodid != null) || (this.dodid != null && !this.dodid.equals(other.dodid))) {
            return false;
        }
        return true;
    }

    @Override
    public String toString() {
        return getDodid() + " " + getDodbezeichnung();
    }
    
}
